import java.util.Scanner;

public class day4 {
    /**
     * 装箱问题
     * http://ac.nowcoder.com/acm/problem/16693
     */
    public static void main3(String[] args) {
        Scanner in = new Scanner(System.in);
        int v = in.nextInt();
        int n = in.nextInt();
        int[] arr = new int[n];
        for(int i = 0;i < n;i++) {
            arr[i] = in.nextInt();
        }

        int[][] dp = new int[n + 1][v + 1];
        for(int i = 1;i <= n;i++) {
            for(int j = 0;j <= v;j++) {
                dp[i][j] = dp[i - 1][j];
                if(j >= arr[i - 1]) {
                    dp[i][j] = Math.max(dp[i][j],dp[i - 1][j - arr[i - 1]] + arr[i - 1]);
                }
            }
        }
        System.out.println(v - dp[n][v]);
    }



    /**
     * 数组变换
     * https://www.nowcoder.com/questionTerminal/c55f4f15cc3f4ff0adede7f9c69fa0c1
     */
    public static void main2(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        // 记录出整个数组的最大值，如果数组中其余值均可以变换成最大值，那么就是 YES
        int maxN = 0;
        int[] arr = new int[n];
        for(int i = 0;i < n;i++) {
            arr[i] = in.nextInt();
            maxN = Math.max(maxN,arr[i]);
        }
        boolean flag = true;
        // 求取结果，判断较小的数能否成为最大值 需要满足：
        // 1. maxN % arr[i] == 0
        // 2. maxN / arr[i] = x，这个x 是2 的n次方
        for(int i = 0;i < n;i++) {
            if(maxN % arr[i] != 0) {
                flag = false;
                break;
            }
            int x = maxN / arr[i];
            // 两种方法：1. x - (x & -x) == 0
            //          2. x & (x - 1) == 0
            if((x - (x & -x)) != 0) {
                flag = false;
                break;
            }
        }
        if(flag == true) {
            System.out.println("YES");
        }else {
            System.out.println("NO");
        }
    }


    /**
     * 添加字符
     * https://www.nowcoder.com/questionTerminal/b2b816e20e8343b49abbaf493886ce26
     */
    public static void main1(String[] args) {
        Scanner in = new Scanner(System.in);
        // 直接进行暴力枚举即可，这个题的范围小
        char[] a = in.next().toCharArray();
        char[] b = in.next().toCharArray();
        int m = a.length;
        int n = b.length;
        int ret = m; // 最坏的情况就是 a的长度都不在b中

        for(int i = 0;i <= n - m;i++) {
            // 从0~n-m 区间进行枚举 以i为起点开始往后枚举m-1个值和a对应位置相等的值存在多少个
            int tmp = 0;
            for(int j = 0;j < m;j++) {
                if(a[j] != b[i + j]) {
                    tmp++;
                }
            }
            // 求最小的与b不同的值
            ret = Math.min(tmp,ret);
        }
        System.out.println(ret);
    }
}
